/**
 * @file uva/1510/main.cpp
 * @author Ruiming Guo (guoruiming@stu.scu.edu.cn)
 * @brief 给定一个有 n 个顶点的完全图，给定图上各边为红色或蓝色（Beat Saber!）
 * 问同种颜色的边构成的三角形的数量
 *
 * 一共构成的三角形C(n, 3) = n*(n-1)*(n-2)/6
 *
 * 对一个“不纯”的三角形，一定是其中两条同色一条异色，
 * 那么对其三个点，有两个点会出现以每个点为端点的两条边异色的情况，
 * 所以只需要统计这种情况（每个点引出的红边数量*该点引出蓝边数量）
 * 记录为 sum，
 * “不纯”的三角形的个数即为 sum / 2
 *
 * @version 0.1
 * @date 2022-04-29
 *
 * @copyright Copyright (c) 2022
 *
 */

#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
int n, sum, t[N][2];
int main() {
  int tc;
  cin >> tc;
  while (tc--) {
    memset(t, 0, sizeof(t));
    cin >> n;
    sum = 0;
    for (int i = 1; i <= n - 1; ++i) {
      for (int j = i + 1; j <= n; ++j) {
        int color;
        cin >> color;
        ++t[i][color];
        ++t[j][color];
      }
    }
    for (int i = 1; i <= n; ++i) sum += t[i][0] * t[i][1];
    printf("%lld\n", 1LL * n * (n - 1) * (n - 2) / 6 - sum / 2);
  }
}
